Team Software

Ons team is verantwoordelijk voor de uitlezing en verwerking van de sensordata, de visualisatie van de data en de beveiliging van de website. Wij zorgen voor ordelijk en efficiënte code zonder fouten. Hiermee verzekeren we dat er een vloeiende connectie is tussen de hardware en website.

De verwerkte data die op de site te zien is (voorbeeld)
Een deel van de code van de back-end software
Het testen van de reactie van de ventilatoren op virtuele temperatuur en luchtvochtigheid
Rauwe data in CSV (links) en JSON (rechts) formaat

Login (beveiliging)

De beveiliging van de website werkt met de ingebouwde Netlify Authentication. De beveiliging zorgt ervoor dat alleen de boer en de beheerders van de website de data kunnen zien. Het is niet mogelijk om een account aan te maken zonder contact op te nemen met de beheerders. Dit ter beveiliging voor hackers. Als iemand op de data pagina komt die niet is ingelogd wordt hij direct terug gestuurd naar de hoofdpagina.

Data meting en verwerking

De data wordt uitgelezen op een Raspberry Pi (een microcomputer). Hierop draait het programma dat de data zal uitlezen en verwerken. Elke minuut wordt er een sample genomen van de temperatuur en de luchtvochtigheid. De data wordt verwerkt en opgeslagen in een CSV bestand. Voor de grafiek op de website wordt een simulatie van data gemaakt van het afgelopen jaar. Hiermee zorgen we ervoor dat er niks meer berekend moet worden op de website.

De temperatuur en de luchtvochtigheid worden door een geïntigreerde AI verwerkt naar een 0-255 (8bit) waarde omgezet die bruikbaar is voor de frequentieregelaar.

Data opslag

Het is belangrijk om de data bij te houden om fouten in het systeem te vinden, grafieken te maken en de temperatuur en luchtvochtigheid van de koeienstal in het oog te houden. De data van elke meting wordt opgeslagen in een CSV bestand (gescheiden door komma's). Het formaat is: [datum en tijd, temperatuur, luchtvochtigheid, ventilatorsnelheid]. Dit bestand is makkelijk te importeren in Excel om grafieken mee te maken en een jaarrapport te maken.

De data die op de website in grafieken wordt geplaatst wordt op voorhand berekend door het programma in een JSON bestand. Dit bestand wordt online geupload zodat de website dit bestand kan ophalen.

Data visualisatie

De data op de website wordt gevisualiseerd op 3 grafieken.

  • De data van de afgelopen uur
  • De gemiddelde data van de afgelopen uren na 24h
  • De gemiddelde data van de afgelopen 24h na 1 jaar

Er worden twee lijnen getekend en een daarvan is de data van de Luchtvochtigheid (Blauw) en de andere van de temperatuur (Rood).

Visual Studio Code

de gebruikte code editor

Python

back-end programeertaal

Javascript

front-end programeertaal

GitHub

transportatie middel tussen back-end en website

CSV (onderscheiden met komma's)

bulk data opslag middel

JSON

transportatie data opslag middel